****************************************************************************************
****************************************************************************************
                                    AA_908 VERSION HISTORY
                                          12/13/2007
****************************************************************************************
****************************************************************************************

------------------------------------------------------------------------------------------------------
VERSION 6.0g (12/02/2007)

1) Added Diags to Config menu list, including the new Keyboard test function.

------------------------------------------------------------------------------------------------------
VERSION 6.0f (04/15/2007)

1) Re-fixed Save Settings (when Dial PB pressed for 3 seconds)

------------------------------------------------------------------------------------------------------
VERSION 6.0d (04/09/2007)

1) Re-added the 6m and VFH links in the Band table (mysteriously lost from version 5.x)
2) Re-fixed the SWR tone to remain at same low point found in Scan and manual tuning.
3) Re-fixed Z readings and SWR tone to change dynamically during idle. (At sacrifice of having many more Set_DDS
   calls during idle, thus increasing noise.)
4) Removed inappropriate ability of going into Scan or Band menus with press of PBs
   when in L, C or VFOmodes.
5) Removed default setting of Set Start_Scan and End_Scan in Scan so as to to correspond to band edges settings in Bands.
6) Set power-up default of frequency display to 1 MHz, corresponding to the default Band setting of 1-10 MHz

------------------------------------------------------------------------------------------------------
VERSION 6.0c (04/07/2007)

1) Added 60m band selection to the Band menu

------------------------------------------------------------------------------------------------------
VERSION 6.0b (03/22/2007)

1) Handled the DDS load signal differently to improve DDS starting reliability. 
   (No more "No DDS Signal" msgs in error)

------------------------------------------------------------------------------------------------------
VERSION 6.0a (02/06/2007)

1) Introduced refclock calibration
2) Removed AF908 code ... no longer enough room for both applications
3) Added coax function menus
4) Fixes register overflows in extreme calculations
5) Fixed the R calculation register overflow by going to double-word registers (64 bits) for numerator and denominator.
    Fixed discontinuities in R computations due to improper clamping of SWRx100 value when SWR >10 detected. (6.0d)
    Fixed the R calculation register overflow by going to double-word registers (64 bits) for numerator and denominator.
    Fixed discontinuities in R computations due to improper clamping of SWRx100 value when SWR >10 detected.
    Put in lower 400 kHz limit check for Z, L and C modes in Mode.asm "BCD_dec" routine
    Added (fixed) Calc.asm "Determine_Band" routine to extend up to 60 MHz.
    Added A/D converter filtering for Vf, Vr, Vz and Va readings (16 sample average)
    Fixed 35, 45, 52 MHz code words in Calib.asm
    Added X gather during calibration for per-band backout of stray X during measurements
    Many Calc & Scan improvements due to increased precision of internal arithmetic
    Removed programming of DDS control word every 20ms during dial idle time (in Process_Dial in mode_m.asm) ... reduces noise floor
    Fixed start_freq retension in Band.asm
    Added VHF & HF Band segment to Bands.asm
    Started adding Polar Z computations
    Fixed temp to temp1 in calib_vr
    Added Save Settings to Dial press

------------------------------------------------------------------------------------------------------
VERSION 5.3b (05/06/2006)

1) Made the Multi-Point Calibration full automatic

------------------------------------------------------------------------------------------------------
VERSION 5.3a (04/26/2006)

1) Re-introduced multi-point calibration: one cal point for each band, with auto determination of which
   cal point to be used in Calc.asm based on the band currently in. This new cal is accessed by the menu item 
   in Config called "Cal Refl", or Calibrate Reflectometer.  When you select "yes" at the prompt for
   placing the short and the 50-ohm loads in place, the display will cycle through the different bands
   and collect appropriate calibration readings for those bands.  After selecting "yes" at the prompt
   for placing the 274-ohm load in place, you will need to adjust for 5.4 for each of the bands, as
   displayed in the LCD.  In each band, you should carefully adjust for a 5.4 reading.  But it might
   difficult to get eactly 5.4 on each band ... in which case a 5.5 would be acceptable.

   (NOTE:  The "Cal Freq" is currently an unused menu item, to be used for the "DDS reference clock 
   calibration" feature coming next ... don't this right now.) 

------------------------------------------------------------------------------------------------------
VERSION 5.1a (02/05/2006)

1) Provided ability in Cal.asm for user to specify the frequency at which calibration is performed.

------------------------------------------------------------------------------------------------------
VERSION 5.0L (01/16/2006)

1) Fix for the "DDS selection" freeze.  (The software was expecting to see the new DDSchip variable
   setting in EEPROM page 1 memory, but that page was not getting properly loaded during the
   automatic memory refresh that happens when a new software version is detected at power-on, nor when
   Default Settings was manually selected in Config. Thus, the index number obtained from DDSchip was FF 
   instead of 00 (for AD9850) or 01 (for AD9851), causing the software to go off into never-never land.)

------------------------------------------------------------------------------------------------------
VERSION 5.0j (01/07/2006)

1) Fix for proper return to Config "Exit" display from Calibration

------------------------------------------------------------------------------------------------------
VERSION 5.0i (12/31/2005)

1) Changed the selection interface for DDS 30/60, Tone On/Off and Data Mode choices in Config to be done  
   the same way as with other multiple-choice items.  This consistency in uerser interface is nice.

2) Fixed the problem that caused every other Scan result to show 1 Mhz instead of actual SWR minimum
   for the circuit being measured.

3) Have code in place for experimental purposes to select AD9851 with direct 30 MHz refclock
   instead of 6x PLL. No discernable difference was visible in the spectrum when using a direct refclock,
   but the sampling artifacts start becoming visible above 10 MHz in this mode (i.e., 1/3 of 30 MHz refclock)
   and the time domain view of the waveform is quite ratty with multiple frequencies getting through the
   LPF.  Therefore this operating mode is quite unusable and was commented out in the production release, 
   but is easy to re-enable by uncommenting the two lines of code in the DDS Settings routine in Config_m.asm
   and then recompiling.

------------------------------------------------------------------------------------------------------
VERSION 5.0h (12/27/2005)

1) N1NB corrected an AF908 problem whereby a menu freeze occurred going in/out of Config

2) KA7OEI added a nice consolidation of Backlight controls in the Config menu.

3) Once again display the selected frequency after making Band selection.

4) Corrected the version number checking in init_m.asm

5) Clint Turner added 6 meters (50-54 MHz) and a "VHF" band (30-60 MHz) to the Band menu, which only
   show up if you have the 60 MHz operation selected.

6) Band now "remembers" the "custom" setting so that it is displayed when the user presses the band button.  
   (That was the only one that wasn't "remembered.")

7) Steve Holton fixed the "two-button press freeze" bug: If the Mode pushbutton was pressed two times 
in a row, the instrument would freeze, with power recycling being the only recourse. It was a memory 
initialization bug that was introduced in AF908 and in the AA908+AF908 combination. (DSPisdsp908
and DSPisASP are now both initialized.)

8) Added a way for the software to recognize when the EEPROM memory structure has been changed,
and thus forcing the "Default Settings" action to be automatically performed.  (Previously, it was 
up to the user to manually select Default Settings in the Config menu, which sometimes wasn't done
and thereby causing strange problems to occur.)

9) Fixed bug in cal so we now use proper DDS control word to set 10 MHz, based on whether 30 Mhz
or 60 MHz operation is selected.

------------------------------------------------------------------------------------------------------
VERSION 5.0d (11/28/2005)
1) Support for DDS-60 Daughtercard:
   Changed to using AD9851 DDS with 30 MHz ref clock (using 6xPLL setting in MSB control word of AD9851)
   Added 'AD9850' variable in EEPROM page 1 to indicate which DDS chip selected (9850=1, 9851=0)
   Added new Config command to allow selection of "30 MHz DDS" or "60 MHz DDS";
   Changes for AD9851 chip in Drivers.asm (DDS_init for turning on 6x PLL), and
   in Mode.asm (Mult to use correct digit scaling values, and in BCD_Inc to handle max display)
2) KA7OEI user interface fixes/improvements: 
   Step shows current setting;  Start, End, and main display show previously-used frequencies;  
   StartFreq/EndFreq display no longer corrupted; Band, Mode and Config selection lists start from 
   previous setting; Last-used Mode is re-entered when exiting Config or Band menus instead of 
   always going back to Impedance.
3) Fixed Scan routine to include first sample in data transmission to terminal.
4) Changed select method in setting start/end freq in Config to press of Dial (instead of pressing <Config>)
5) Changed initial display of start/end freq (in Config) to be current setting (not always 10 MHz)
6) Tone varies with changes in SWR again, even when the dial is not being moved. (Facilitates changing antenna 
   while listening to lower SWR.)

------------------------------------------------------------------------------------------------------
VERSION 4.3a (4/21/2005)
1) Added LCD Backlight control.  (Optionally uses different LCD and new transistor to board.)
2) Restructured the source code to provide integration with AF908 module. (Compile time switches.)

------------------------------------------------------------------------------------------------------
VERSION 4.2b (4/13/2005)
1) Fixed tone to properly swing to min freq during Scan ... and stay there when scan complete.
2) Display reactance sign only when Sleep PB is pressed.  This may help create more stable X readings.
3) Added loop to Config selection of Battery display (allows monitoring batt voltage during charge).
4) Removed a lot of unnecessary code and comments from the SEEPROM testing days.

------------------------------------------------------------------------------------------------------
VERSION 4.2a (3/28/2005)
1) Found another way to invoke entry to HCmon for the Software Load function in Config, thus
   eliminating the occasional halted downloading and need for using the "P3 jumper method" of loading.
2) Corrected the upper band limit for 12m operation.

------------------------------------------------------------------------------------------------------
VERSION 4.2 (3/24/2005)
1) Found the bug causing the "SWR>10" condition.  Actually only happened with narrow resonances   
   when the AA908 reaches out past the resonance to determine reactance sign.  During that    
   condition, the SWR display got "out of sync" with the foreground (dial turning) vs. background    
   (dial still) computations and the ">10" display remained when coming back to the current    
   frequency state.
2) Ensures max setting of 30 MHz for specifying End Freq in Config.

-----------------------------------------------------------------------------------------------------
VERSION 4.1e (3/4/2005)
Temporary disable "jsr Disp_Sign" in ISR until I fix the "constant SWR>10" condition

------------------------------------------------------------------------------------------------------
VERSION 4.1 (2/27/2005) Production
This version supports the "reactance sign feature" and Link908

1) Corrected stack bugs in Get_Dial_Selection and Get_YN routines
2) Corrected portA bug in LCD driver
3) Merged WARC Band sppt and raw Link908 data transmit to mainline code
4) Added Config options for scan data (no save, send to PC, send to SEEPROM)
5) Added placeholders for SEEPROM code (search .LST file for "INSERT SEEPROM USAGE HERE")
6) Added Link908 interface
7) Band selection increased to include WARC bands.  (M. Hasenfratz, WA6FXT).
8) Table-driven method used for selecting bands.
9) Changed reactance sign measurement technique to check up or down 3 MHz, depending
   on where the current frequency point is in the band (20 MHz)

------------------------------------------------------------------------------------------------------
VERSION 4.0c (12/5/2005) Production
1) Changed pushbutton user interface to be consistent with others (press Mode to 
    see sub-menu of available modes: Impedance, Capacitance, Inductance, VFO).
2) Calibration point changed to 10 MHz.

------------------------------------------------------------------------------------------------------
VERSION 4.0 (11/15/2004)
This newest software should be used once the Service Pack has been installed.  It depends on proper channel gain with the ERA-3 amp on the DDS card, and with R19,R24,R29,R51 = 71.5K.

1) Changed to using ERA-3 with different gain resistors.  Getting rid of MAV-11 solved
high-end signal level rolloff.

2) Changed to "back_to_basics" simplified calibration, adjusting Vr to make SWR=5.4
with 270-ohm load.  Best performing results ever!!

3) Added LCD backlight control circuit (and software timers, Setup menus, etc.)

4) Fixed bug in calculating R (was improperly scaling large denominator)

5) Started measuring and adjusting for A/D offset voltages.  Improved accuracy a bit.

6) Now handling remainder of correction factor generation and use.  Yields best results yet!

7) Fixed cursor adjust too far to left.

8) Straightened out Lite control and EEPROM save/restore

9) Moved cal data to EEPROM Page 1.

10) Fixed power-on pushbutton so timing not critical on release.

11) Added "Stopped" display at powerdown.

12) Made the Default Settings option more sensible and usable.

13) Determine & display reactance sign.  (I'm still not happy with this and more changes will come.)

14)  Reactance Sign Determination -- I diddle the freq (by 1 MHz!) when the 
instrument is in Impedance Mode, and when the dial is at rest.  You can see 
this on a scope connected to the load.  Kind of interesting, actually.

15)  L & C Measurements -- Pressing Mode will allow you to select among the different
Modes available for the instrument: Impedance (default), Capacitance, Inductance and VFO.

16)  VFO Mode -- I added a fourth mode called "VFO" which just outputs the 
test signal, without diddling, yielding a signal suitable for external use.

17) All references to that experimental power control feature have been 
removed, so the Micro908 will not randomly go into "stopped" mode, and the 
mysterious interaction with the Sleep pushbutton is gone. Whew! :-)

18) Tone operation is cleaned up a little bit more ... should fix the 
"metronome" effect that some of you guys have noted.

19) The strange readings of "0 +j50" below 8 MHz with 50-ohm load resistor is 
cleared up.  (In some cases, the no-load Vr offset voltage was greater than 
the Vr reading, which was near zero with a perfect match load, resulting in 
a negative corrected sample reading of Sample - Offset  ... not cool.  This 
only showed up after I sampled numerous units and saw what some of you guys 
were noting.)

20) User interface change to allow dropping right into Impedance mode upon start-up.

------------------------------------------------------------------------------------------------------
VERSION 3k5 (9/2/2004): "First Production Release"

------------------------------------------------------------------------------------------------------
I will keep working on improvements, as always, and keep everyone posted. 
Thanks for everyone's support.

Let us know how this new release works for you!

73, George Heron, N2APB
      n2apb@amqrp.org
      www.amqrp.org/kits/micro908


